Enterprises are increasingly being asked to provide access to applications to employees, partners and service provides located outside the perimeter of the enterprise network. However, congested wide area network (WAN) links, heavily loaded servers, and low-bandwidth remote connections can impede access to and slow performance of remotely-accessed applications. These factors can substantially impact and reduce employee productivity and the return on investment in enterprise application software and infrastructure. Furthermore, these factors can also frustrate and alienate users from using remotely-accessed application. To obtain a satisfactory return on investment from these applications, enterprises need to ensure that all users, regardless of location, can use the applications quickly and effectively.
One approach for improving the performance of remotely-accessed applications is to install an appliance within the enterprise network that performs certain functions to accelerate application performance. The appliance is typically installed as a gateway between the WAN on a pubic network and the enterprise servers on a private data network and processes data passing between the two. When such an appliance is dedicated to performing acceleration functions, it is often referred to as an “accelerator.” Because the accelerator is deployed within the enterprise network, it is more effective at reducing latency on the enterprise network itself and in reducing the load on the enterprise servers. However, it is less effective at addressing delays due to problems arising outside the enterprise network, such as congested WAN links and low-bandwidth remote connections.
In another approach, some companies offer application acceleration solutions for the client side of the WAN, or the client-side LAN. These solutions typically fall into two main categories: (1) network appliances that can be installed as a gateway between the client and the WAN and that perform application acceleration functions; and (2) application acceleration servers residing on a client-side LAN. However, installing and maintaining accelerator servers or appliances on the client-side LAN consumes time, expense and resources. In many cases, an enterprise network can be accessed from many different remote sites, such as from many different branch offices. To deploy client-side acceleration for all remote clients, the enterprise would have to install and maintain an appliance-based or server-based accelerator at each remote site. Additionally, if the need to access applications from a remote site is sporadic, the time, expense and resources of installing and maintaining such an accelerator on the client-side LAN at the site may exceed the benefit.
Furthermore, a solution of an appliance or server-based accelerator on the client-side LAN can be a confining one because it limits acceleration of client-side LANs to locations having server-based or appliance-based accelerators. With users having access to multiple computing devices at different remote locations coupled with the ubiquity of mobile computing devices and the increasing availability of wireless network access, a user may access a network from a wide range of remote access points at any point in time. For example, during the course of a user roaming between access points, a user may be able to access the enterprise network from an office desktop computer, a smartphone or personal digital assistant, a laptop computer, a home office computer, or a computer at a remote office location, such as at a customer or client office. As such, the user may desire to access remote applications via the enterprise network at any remote location and on any one of multiple computers available to the user. Each of the remote access point and/or multiple computing devices available to the user may have a different client-side LAN connection to the enterprise network. The enterprise may not have the time, expense and resources to deploy a client-side LAN solution at all the possible remote access points or for all the possible computing devices, or to continually install and maintain such solutions with the increasing number of remote access points and computing devices of the user. Additionally, the user may access the enterprise network from a public network, private network, or a client-side LAN not accessible to or under the control or management of the enterprise. As such, an enterprise may not be able to deploy a client-side LAN accelerator to all these access points.
What is desired, then, are systems and methods that provide client-side acceleration capabilities for improving the performance of remotely-accessed applications. The desired systems and methods should not require the installation and maintenance of a network appliance or a server running acceleration software between the client and the WAN. To further improve the performance of remotely-accessed applications, it would also be desired if accelerator functions could be implemented both on the client side and the enterprise network side of the WAN.